//
//  brilliant_babyViewController.m
//  brilliant baby
//
//  Created by 남웅 백 on 10. 7. 28..
//  Copyright __MyCompanyName__ 2010. All rights reserved.
//

#import "brilliant_babyViewController.h"
#import "iconViewController.h"
#import "imageViewController.h"

@implementation brilliant_babyViewController

@synthesize iconVC;
@synthesize imageVC;


/*
// The designated initializer. Override to perform setup that is required before the view is loaded.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
        // Custom initialization
    }
    return self;
}
*/

/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/



// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
	
	[super viewDidLoad];
	
	iconVC = [[iconViewController alloc] initWithNibName:@"iconViewController" bundle:nil delegate:self];
	imageVC = [[imageViewController alloc] initWithNibName:@"imageViewController" bundle:nil delegate:self];
	
	[[self view] insertSubview:[iconVC view] belowSubview:[self view]];
    
	from = iconVC;
	to = imageVC;
	
	/*
     Create and configure the four recognizers. Add each to the view as a gesture recognizer.
     */
	UIGestureRecognizer *recognizer;
	
	
	/*
     Create a swipe gesture recognizer to recognize right swipes (the default).
     We're only interested in receiving messages from this recognizer, and the view will take ownership of it, so we don't need to keep a reference to it.
     */
	recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
	[self.view addGestureRecognizer:recognizer];
	[recognizer release];
	
	//left swipe
	recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
	
	[(UISwipeGestureRecognizer*)recognizer setDirection:UISwipeGestureRecognizerDirectionLeft];
	[self.view addGestureRecognizer:recognizer ];
	[recognizer release];
}

/*
 In response to a swipe gesture, show the image view appropriately then move the image view in the direction of the swipe as it fades out.
 */
- (void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
	
	//for get current view
	NSArray *views = [self.view subviews];
	
	//check current view is imageVC
	if ([[views objectAtIndex:0] isEqual:[imageVC view]]) {
		
		//swipe left
		NSLog(@"here is imageVC view!!!");
		if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft) {
			[self changeView];
			NSLog(@"Swipe Left!!!");
		}
		else {	//swipe right
			NSLog(@"Swipe Right!!!");
		}
	}
}	

- (IBAction) changeView{
	
	NSLog(@"왔어 왔어!!");
	[UIView beginAnimations:nil context:NULL];
	[UIView setAnimationDuration:1];
	
	[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:[self view] cache:YES];	
	[to viewWillAppear:YES];
	[from viewWillDisappear:YES];
	
	[[from view] removeFromSuperview];
	[[self view] addSubview:[to view]];
	//이걸 제거하니까 리모컨 사진이 나옴.
	//상위뷰에 있는 컨트롤 들을 나타낼때 쓰는 것 같음.
	//[[self view] insertSubview:[to view] belowSubview:[self view]];

	[from viewDidDisappear:YES];
	[to viewDidAppear:YES];
	
	
	[UIView commitAnimations];
	
	id temp;
	
	temp = from;
	from = to;
	to = temp;
}

/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

- (void)didReceiveMemoryWarning {
	// Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
	
	// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
	// Release any retained subviews of the main view.
	// e.g. self.myOutlet = nil;
}


- (void)dealloc {
    [super dealloc];
}

@end
